#ifndef _MEGA_MENUITEM_H_
#define _MEGA_MENUITEM_H_

#include <SFML/Graphics/RectangleShape.hpp>
#include <SFML/Graphics/Text.hpp>

#include "Globals.h"
#include "GameObject.h"

namespace mega
{

enum class MenuItemState
{
	Active,
	Clicked,
	Disabled,
	Hovered
};

class MenuItem
	: public GameObject
{
public:
	MenuItem(sf::RectangleShape _shape);
	virtual ~MenuItem();

public:
	void setText(const char * _text);
	sf::FloatRect getGlobalBounds() const;

	// game object interface
	virtual void render(RenderTarget & _target);
	virtual void move(const Position & _offset);
	
private:
	sf::RectangleShape m_shape;
	sf::Text           m_text;
	MenuItemState      m_state;

friend class Menu;
};

}

#endif // _MEGA_MENUITEM_H